FastFontMenu is a Control Panel which speeds up the building of the Font Menu in most applications. It does this by sorting the font names in an internal array, rather than insertion sorting them in the menu the way older versions of the MacOS did . It also caches the list. This has two benefits. The first is that it'll be MUCH faster for every font menu after the first, as long as your fonts haven't changed (applications that have fonts in their resource forks will clobber the caching, but they've been warned not to do that by Apple's Developer Support for more than seven years). The second benefit is that after the first time, the memory requirements of FFM are much smaller. If you were seeing problems in a control panel or desk accessory, you should no longer see them as long as you've run an application that builds a font menu first.
FastFontMenu is WorldScript savvy, and should give you a font menu that's sorted in the same order that you get without it installed. If you find that this isn't the case, drop me a note, and I'll look into it.
For a small number of fonts, you'll see a relatively small improvement if you notice any improvement at all, but for those people who have a bazillion fonts in their systems, the speed improvement in launching most applications is noticeable, even on a fairly fast G3. The only case I know of where FastFontMenu can slow things down is on systems which have mostly non-Roman fonts installed. The reason for this is that for non-Roman fonts, FastFontMenu doesn't do the smartest thing possible for the international string comparisons of the font names. Due to the caching, FastFontMenu will only be slower when building the font menu for the first time.
FastFontMenu is shareware. FastFontMenu may be distributed freely, but not sold for profit. Please only distribute the complete, original archive containing FastFontMenu, this ReadMe fileand the accompanying Register application. If you sell FastFontMenu for profit, I'll have to say bad things about you, and we wouldn't want that.
FastFontMenu can be registered either by using the accompanying Register application or by registering online at <http://order.kagi.com/?4Z8>. The cost is $25. Site licenses are also available, and I reduced the site license cost with version 2.1.
Thanks to Matt, Jon, Pete, Ric, Ted, Turly and Jeff. Also, thanks to all the people who sent me feedback about previous versions.
Version history:
2.2 - Verify Mac OS 9 Compatibility with customer release of OS.
2.1.1 - Correctly check for presence of Collection Manager before calling it to avoid crashing with an Unimplemented Trap exception.
2.1 - Move registration flag from a resource within the control panel into a preference file. This allows multi-user compatibility with Sonata.
2.0.1 - Fix two problems which were causing problems with some applications. One was not pre-calculating the menu's height and width, which caused problems in only a few rare cases. The other was that I was incorrectly closing the control-panel file after checking the preferences.
2.0 - Make a control panel to handle the shareware "I Paid" checkbox. Add a nag so people don't forget to pay. Rewrite much of the code that deals with settings and bad applications (there shouldn't be any, but be sure to let me know if you discover applications that don't work with FastFontMenu). Ensure MacOS 8.6 compatibility.
1.1.1 - Use SetMenuItemText to set font name in menu, instead of AppendMenu. This avoid problems with fonts containing slashes and other special characters. In my opinion, these fonts are broken, but nonetheless it causes problems.
1.1 - Add caching. If the fonts folder hasn't changed, and the application has no fonts in its resource fork, the same font list as last time will be used. HUGE speedup for most cases, since all I need to do is count the number of fonts available and check the mod-date of the fonts folder. This also means that if you've built the font menu once, the stack and heap requirements of FFM are nearly zero for subsequent invocations. Fix crashing bug caused by reading off the (front) end of the font list. Update icon. Update system version that causes expiration, since it didn't make 7.6.
1.0.2 - Check for applications that (for whatever reason) have problems with FFM. Add new icon.
1.0.1 - In extreme low-memory conditions, call through to the system's version of AppendResMenu. This only affects applications that have less than 6k of free stack when building their font menu (and that much would only be used if you somehow had managed to install sixteen-thousand fonts), but I've gotten a few reports of applications that managed it. Ugh.